// 子系统接口A
interface SubSystemA {
    void operationA();
}

// 子系统实现A
class SubSystemAImpl implements SubSystemA {
    @Override
    public void operationA() {
        System.out.println("Subsystem A operation");
    }
}

// 子系统接口B
interface SubSystemB {
    void operationB();
}

// 子系统实现B
class SubSystemBImpl implements SubSystemB {
    @Override
    public void operationB() {
        System.out.println("Subsystem B operation");
    }
}

// 外观类
class Facade {
    private SubSystemA subSystemA;
    private SubSystemB subSystemB;

    public Facade() {
        subSystemA = new SubSystemAImpl();
        subSystemB = new SubSystemBImpl();
    }

    // 客户端调用这个方法来执行子系统的一系列操作
    public void performOperation() {
        subSystemA.operationA();
        subSystemB.operationB();
    }
}

// 客户端代码
public class Client {
    public static void main(String[] args) {
        Facade facade = new Facade();
        facade.performOperation(); // 客户端只需要与外观类交互
    }
}
